The present invention relates to computer systems, and more particularly to diagnostic systems for use with computer systems such as personal computer systems.
Personal computer systems in general and IBM compatible personal computer systems in particular have attained widespread use for providing computer power to many segments of today's modern society. A personal computer system can usually be defined as a desk top, floor standing, or portable microcomputer that includes a system unit having a system processor and associated volatile and non-volatile memory, a display monitor, a keyboard, one or more diskette drives, a fixed disk storage device and an optional printer. One of the distinguishing characteristics of these systems is the use of a system board to electrically connect these components together. These personal computer systems are information handling systems which are designed primarily to give independent computing power to a single user and are inexpensively priced for purchase by individuals or small businesses.
It is known to provide computer systems with diagnostic systems to increase the reliability, availability and serviceability of the computer system. In general, diagnostic systems provide a diagnostic function of detecting and analyzing errors or faults that occur in either or both the hardware and software portions of the computer system. A diagnostic system typically detects errors as they occur and logs such errors for later analysis by a diagnostic program. Often in personal computer systems, the diagnostic system provides a relatively narrow set of functions which are limited to displaying to the user a cryptic error code as errors are detected during a power on self test, or while the system is operating normally, or as a result of running a test or diagnostic program. The user is then left with the problem of deciding what the code or message means and what to do about it.
One challenge with present diagnostic systems is that they depend on a large portion of the system being operational because the diagnostic program of the diagnostic system is generally read from a diskette or hard disk drive and executed on the system processor using the system memory. After running the diagnostic program, the results are then either presented on the system's display, stored on a disk using the system's diskette drive or printed using the system's printer.
Larger computer systems often provide diagnostic subsystems to perform the diagnostic function. These subsystems typically include what is effectively an auxiliary computer system which is expressly designed to perform the diagnostic function. Often these larger computer systems provide a remote interface to the diagnostic subsystem so that the diagnostic function may be operated from a remote site and any problems reported back to the remote site. However, personal computer systems, by their very definition, are small systems which for reasons of cost and complexity cannot support these types of diagnostic subsystems.
Personal computer systems have implemented various procedures to address shortcomings with present diagnostic systems. For example, a diagnostic program which resides within the system's non-volatile memory is provided to address the problem of requiring a working diskette or hard disk drive. Also for example, remote interface capability has been provided to address the problem of requiring a functioning display device or printer. However, with both of these options, the diagnostic program must still execute using the system processor and the system memory.